#pragma once
#include "SrpcConfig.h"
#include <mutex>

class SrpcApplication {
public:
  static void Init(int argc, char **argv);
  static SrpcApplication &GetInstance();
  static SrpcConfig &GetConfig();
  static SrpcConfig m_config;

private:
  static std::mutex m_mutex;
  SrpcApplication();
  ~SrpcApplication();
  SrpcApplication(const SrpcApplication &) = delete;
  SrpcApplication(const SrpcApplication &&) = delete;
  SrpcApplication &operator=(const SrpcApplication &) = delete;
};